<?php
    //valida que venga los datos
    if(isset($_GET['nuevo_producto']) && isset($_GET['ACCION'])){
    $nuevo_producto = $_GET['nuevo_producto'];
    $descripcion_admin = $_GET['descripcion_admin'];
    $orden = $_GET['orden'];
    $accion = $_GET['ACCION'];
    }else{
        exit();
    }
    
    
    
    require_once('../php/class/productos.class.php');
    $oProducto = new producto();
    
    switch($accion){
        case "ADD":
			
			if($oProducto->unique("DESCRIPCION_ADMIN","'".$descripcion_admin."'","DESCRIPCION","'".$nuevo_producto."'")){
				$response = array("RESULT" => "1","ERROR" =>"Ya existe un producto con esa descripci&oacute;n");
                echo json_encode($response);
                exit();
				}
				
            $oProducto->ID = $oProducto->getlastid();
            $oProducto->DESCRIPCION = $nuevo_producto;
            $oProducto->DESCRIPCION_ADMIN = $descripcion_admin;
            $oProducto->ORDEN = $orden;
            $oProducto->ID_STATUS = 1; //activo
            
            if(!@$oProducto->add()){
                $response = array("RESULT" => "1","ERROR" =>"Error guardando producto");
                echo json_encode($response);
                exit();   
            }else{
                $response = array("RESULT" => "0","ERROR" =>"none");
                echo json_encode($response);
                exit(); 
            }
        break;
        
        case "MODIFY":
            $id_producto = $_GET['id_producto'];
            $oProducto->search($id_producto);
            $nuevo_producto = $_GET['nuevo_producto'];
            $descripcion_admin = $_GET['descripcion_admin'];
            $orden = $_GET['orden'];
            
            if($oProducto->DESCRIPCION_ADMIN != $descripcion_admin || $oProducto->DESCRIPCION != $nuevo_producto){
            if($oProducto->unique("DESCRIPCION_ADMIN","'".$descripcion_admin."'","DESCRIPCION","'".$nuevo_producto."'")){
				$response = array("RESULT" => "1","ERROR" =>"Ya existe un producto con esa descripci&oacute;n");
                echo json_encode($response);
                exit();
				}
			}
            $oProducto->DESCRIPCION = $nuevo_producto;
            $oProducto->DESCRIPCION_ADMIN = $descripcion_admin;
            $oProducto->ORDEN = $orden;
            
                if($oProducto->modify()){
                    $response = array("RESULT" => "0","ERROR" =>"none");
                    echo json_encode($response);
                    exit();     
                }else{
                    $response = array("RESULT" => "1","ERROR" =>"Error modificando producto");
                    echo json_encode($response);
                    exit();
                }
        break;
        
        case "DELETE":
            $id_producto = $_GET['id_producto'];
            $oProducto->search($id_producto);
            $oProducto->ID_STATUS = 0; //inactive
                if($oProducto->modify()){
					
					 //inactivar todos las categorias de este producto:
					 require_once('../php/class/categorias.class.php');
					 $oCategoria = new categoria();
					
					if($oCategoria->inactive_all("ID_PRODUCTO",$oProducto->ID)){
						
						//inactiva todas las subcategorias asociadas
						require_once('../php/class/subcategorias.class.php');
						$oSubcategoria = new subcategoria();
						
						if($oSubcategoria->inactive_all("ID_PRODUCTO",$oProducto->ID)){
							
							//inactiva todos los subniveles 1
							require_once('../php/class/subnivel1.class.php');
							$oSubNivel1 = new subnivel1();
							
							if($oSubNivel1->inactive_all("ID_PRODUCTO",$oProducto->ID)){
								
								//inactiva todos los subnivel2
								require_once('../php/class/subnivel2.class.php');
								$oSubNivel2 = new subnivel2();
								
								if($oSubNivel2->inactive_all("ID_PRODUCTO",$oProducto->ID)){
									$response = array("RESULT" => "0","ERROR" =>"none");
									echo json_encode($response);
									exit();
									}else{
										$response = array("RESULT" => "1","ERROR" =>"Error borrando subnivel2");
										echo json_encode($response);
										exit();
										}
								
								}else{
								$response = array("RESULT" => "1","ERROR" =>"Error borrando subnivel1");
								echo json_encode($response);
								exit();		
								}
							
						}else{
							$response = array("RESULT" => "1","ERROR" =>"Error borrando subcategorias");
							echo json_encode($response);
							exit();	
							}
						
						
					}else{
						$response = array("RESULT" => "1","ERROR" =>"Error borrando categorias");
						echo json_encode($response);
						exit();
							 
					}
					
                }else{
                    $response = array("RESULT" => "1","ERROR" =>"Error borrando producto");
                    echo json_encode($response);
                    exit();
                }
        break;
            
    }
     
?>
